package com.jiashihui.schema_lgorithm.java.thread;

/**
 * @author jiashihui
 * @date 2019/04/09
 *
 * Java中通常实现锁有两种方式，一种是synchronized关键字，另一种是Lock。【synchronized是基于JVM层面实现的，而Lock是基于JDK层面实现的。】
 * Lock是比较复杂的，需要lock和realse，如果忘记释放锁就会产生死锁的问题，所以，通常需要在finally中进行锁的释放。
 * 但是synchronized的使用十分简单，只需要对自己的方法或者关注的同步对象或类使用synchronized关键字即可。但是对于锁的粒度控制比较粗，同时对于实现一些锁的状态的转移比较困难。
 *     tips	    synchronized	Lock
 * 锁获取超时	    不支持	    支持
 * 获取锁响应中断	不支持      支持
 *
 * Lock的实现主要有ReentrantLock、ReadLock和WriteLock。
 *
 */
public class ReentrantLockTest {

}
